//
//  NSSecureCoding.swift
//  Documentation
//
//  Created by Toj on 1/12/23.
//
// NSSecureCoding 通过加入类方法 supportsSecureCoding 来扩展了 NSCoding 协议

// MARK: - NSSecureCoding
public protocol NSSecureCoding : NSCoding {
    
    // 如果一个类符合 NSSecureCoding 协议并在 + supportsSecureCoding 返回 YES, 就声明了它可以处理本身实例的编码解码方式, 以防止替换攻击.
    
    // 具体来说, 符合 NSSecureCoding 协议并重写了 -initWithCoder 的类应该使用 -decodeObjectOfClass:forKey: 而不是 -decodeObjectForKey:
    static var supportsSecureCoding: Bool { get }
}
